/*
 * Eleccion.h
 *
 *  Created on: Sep 12, 2011
 *      Author: marcos
 */

#ifndef ELECCION_H_
#define ELECCION_H_

#include <iostream>
using std::string;

#include "Cargo.h"
#include "Distrito.h"

class Eleccion {
private:
	int id;
	Cargo* cargo;
	Distrito* distrito;
	string fecha;

public:
	Eleccion();
	virtual ~Eleccion();
	Cargo *getCargo() const;
    Distrito *getDistrito() const;
    string getFecha() const;
    int getId() const;
    void setCargo(Cargo *cargo);
    void setDistrito(Distrito *distrito);
    void setFecha(string fecha);
    void setId(int id);
    static Eleccion* create(int id, Cargo* cargo, Distrito* distrito, string fecha);
    static Eleccion* create(int id);

    //Serialize and Unserialize methods
    static Eleccion* toObject(iostream *stream);
    void toData(iostream*);
};

#endif /* ELECCION_H_ */
